package logica;

import java.util.Hashtable;
import java.util.Queue;

/**
 * terminada
 * 
 * @author Usuario
 * 
 */
public class Area {

	// relacion revista omitida

	// atributos locales de la clase
	private String nombreArea;

	// relaciones
	private UsuarioRegistrado editorArea;
	private Hashtable<String, Articulo> articulosPertenecientes;
	private Queue<Articulo> colaArtEvaluacion;
	private Queue<Articulo> colaArtPublicacion;
	private Queue<Articulo> colaArtPropuestos;

	public Area(String nombre, UsuarioRegistrado us) {
		this.nombreArea = nombre;
		this.editorArea = us;
	}

	// m�todos nombre

	public String getNombre() {
		return nombreArea;
	}

	public void setNombre(String nombreEntrada) {
		this.nombreArea = nombreEntrada;
	}

	// metodos editor

	public UsuarioRegistrado getEditorArea() {
		return editorArea;
	}

	public void setEditorArea(UsuarioRegistrado editorArea) {
		this.editorArea = editorArea;
	}

	// m�todos articulos

	public void setArticulo(Articulo articuloEntrada) {
		this.articulosPertenecientes.put(articuloEntrada.getTitulo(), articuloEntrada);
	}

	public Articulo getArticulo(String stringEntrada) {
		return this.articulosPertenecientes.get(stringEntrada);
	}

	public void removeArticulo(String stringEntrada) {
		this.articulosPertenecientes.remove(stringEntrada);
	}

	// m�todos colaEvaluacion

	public void setArticuloEvaluacion(Articulo articuloEntrada) {
		this.colaArtEvaluacion.offer(articuloEntrada);
	}

	public Articulo getArticuloEvaluacion() {
		return this.colaArtEvaluacion.poll();
	}

	// m�todos colaPublicacion

	public void setArticuloPublicacion(Articulo articuloEntrada) {
		this.colaArtPublicacion.offer(articuloEntrada);
	}

	public Articulo getArticuloPublicacion() {
		return this.colaArtPublicacion.poll();
	}

	// metodos ColaPropuestos
	public void setArticuloPropuesto(Articulo articuloEntrada) {
		this.colaArtPropuestos.offer(articuloEntrada);
	}

	public Articulo getArticuloPropuesto() {
		return this.colaArtPropuestos.poll();
	}

}
